using System.ComponentModel.DataAnnotations;

namespace SupplierCustomerManagement.Read.API.Dtos.Lambing
{
    /// <summary>
    /// 产羔月度统计行
    /// </summary>
    public class LambingMonthlyRowDto
    {
        /// <summary>
        /// 月份（01-12）
        /// </summary>
        [Required]
        public string month { get; set; } = "";

        /// <summary>
        /// 分娩窝数（当月产羔记录数）
        /// </summary>
        public int litterCount { get; set; }

        /// <summary>
        /// 健羔=1 的窝数（占位，待业务确认）
        /// </summary>
        public int? healthy1 { get; set; }

        /// <summary>
        /// 妊娠天数 > 117 天的窝数（占位，待有配种-产羔关联后实现）
        /// </summary>
        public int? over117 { get; set; }

        /// <summary>
        /// 妊娠天数 < 111 天的窝数（占位）
        /// </summary>
        public int? less111 { get; set; }

        /// <summary>
        /// 总产羔只数
        /// </summary>
        public int totalLamb { get; set; }

        /// <summary>
        /// 健羔只数
        /// </summary>
        public int? healthy { get; set; }

        /// <summary>
        /// 弱羔只数
        /// </summary>
        public int? weak { get; set; }

        /// <summary>
        /// 畸形只数
        /// </summary>
        public int? deformed { get; set; }

        /// <summary>
        /// 死胎只数（暂按 DeadLambs 口径）
        /// </summary>
        public int? stillbirth { get; set; }

        /// <summary>
        /// 木乃伊胎只数
        /// </summary>
        public int? mummy { get; set; }

        /// <summary>
        /// 畸胎只数
        /// </summary>
        public int? abnormal { get; set; }

        /// <summary>
        /// 活羔只数
        /// </summary>
        public int liveLamb { get; set; }

        /// <summary>
        /// 活羔率 = 活羔/总产羔（分母为0时为0）
        /// </summary>
        public decimal liveRate { get; set; }

        /// <summary>
        /// 活羔数≥1 的窝数（占位）
        /// </summary>
        public int? liveCount1 { get; set; }

        /// <summary>
        /// 活羔数≥2 的窝数（占位）
        /// </summary>
        public int? liveCount2 { get; set; }

        /// <summary>
        /// 断奶母羊数（占位）
        /// </summary>
        public int? weanedEwe { get; set; }

        /// <summary>
        /// 断奶总羔数（占位）
        /// </summary>
        public int? weanedTotal { get; set; }

        /// <summary>
        /// 断奶7天内数（占位）
        /// </summary>
        public int? weaned7Days { get; set; }
    }
}
